package com.yxzz.core.mapper;

import com.yxzz.core.domain.PDiagnosisRecord;
import com.yxzz.core.domain.PDiagnosisRelationship;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 中医诊断记录Mapper接口
 * 
 * @author ruoyi
 * @date 2023-02-28
 */
@Mapper
public interface PDiagnosisRecordMapper 
{
    /**
     * 查询中医诊断记录
     * 
     * @param id 中医诊断记录主键
     * @return 中医诊断记录
     */
    public PDiagnosisRecord selectPDiagnosisRecordById(Long id);

    /**
     * 查询中医诊断记录列表
     * 
     * @param pDiagnosisRecord 中医诊断记录
     * @return 中医诊断记录集合
     */
    public List<PDiagnosisRecord> selectPDiagnosisRecordList(PDiagnosisRecord pDiagnosisRecord);

    /**
     * 新增中医诊断记录
     * 
     * @param pDiagnosisRecord 中医诊断记录
     * @return 结果
     */
    public int insertPDiagnosisRecord(PDiagnosisRecord pDiagnosisRecord);

    /**
     * 修改中医诊断记录
     * 
     * @param pDiagnosisRecord 中医诊断记录
     * @return 结果
     */
    public int updatePDiagnosisRecord(PDiagnosisRecord pDiagnosisRecord);

    /**
     * 删除中医诊断记录
     * 
     * @param id 中医诊断记录主键
     * @return 结果
     */
    public int deletePDiagnosisRecordById(Long id);

    /**
     * 批量删除中医诊断记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePDiagnosisRecordByIds(Long[] ids);

    /**
     * 批量删除诊断记录与治疗药方等的关系
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePDiagnosisRelationshipByDiagnosisIds(Long[] ids);
    
    /**
     * 批量新增诊断记录与治疗药方等的关系
     * 
     * @param pDiagnosisRelationshipList 诊断记录与治疗药方等的关系列表
     * @return 结果
     */
    public int batchPDiagnosisRelationship(List<PDiagnosisRelationship> pDiagnosisRelationshipList);
    

    /**
     * 通过中医诊断记录主键删除诊断记录与治疗药方等的关系信息
     * 
     * @param id 中医诊断记录ID
     * @return 结果
     */
    public int deletePDiagnosisRelationshipByDiagnosisId(Long id);
}
